In a logically partitioned computer processor, such as IBM's PR/SM-LPAR, a plurality of operating systems operate in logical partitions, with the partitions controlled by a hypervisor. Such an approach is described in U.S. Pat. No. 4,843,541, "Logical Resource Partitioning of a Data Processing System", by Bean, et al., assigned to the assignee of the present invention, and incorporated herein by reference. In such an environment, each operating system operates to a very large degree independently, with its own resources, and with the hypervisor intercepting requests for certain privileged operations, and reissuing them (perhaps in a changed form) on behalf of the requesting operating system/partition.
In most prior art environments, the physical I/O configuration (channels, channel paths, devices, etc.) is "static" in that major configuration changes/redefinitions could only be made by stopping active work on the system, redefining the configuration, then reinitializing (IPLing) the system with the new configuration. In such environments, a role of the hypervisor is to map a partition's logical view of the (static) system configuration to the physical configuration, intercept and reissue I/O operation requests, pass along (to the appropriate partition) error indications, etc.
Recently, inventions have been made that enable an operating system to make and/or tolerate dynamic changes to the systems physical I/O configuration. Exemplary of these mechanisms are those described in a series of copending applications related to IBM's ESA/390 systems and MVS/ESA Operating Systems: "Method and Apparatus for Dynamic Changes to System I/O Configuration", Ser. No. 07/676,603, by S. M. Benson, et al.; "Dynamically Changing a System I/O Configuration Definition", issued as U.S. Pat. No. 5,170,472, on Dec. 8, 1992, by R. Cwiakala, et al.; "Establishing and Restoring Resources in a Data Processing I/O System", Ser. No. 07/754,859, (filed Sep. 4, 1991), by T. E. Cook, et al. All these applications are assigned to the assignee of the present invention, and are incorporated herein by reference. Dynamic I/O gives an operating system the ability to add, delete or modify the definition of devices, control units and channel paths without a hardware or software re-IML, or re-IPL. Dynamic I/O allows the installation to add new devices with less disruption, or having to wait for a scheduled outage. The user interface for Dynamic I/O Configuration, in the environment of the aforementioned applications, is through MVS/ESA. MVS/ESA has an interactive front-end guide called the Hardware Configuration Dialog (HCD) function. HCD allows the user to define the hardware configuration to MVS. The output of the HCD is an I/O Definition File (IODF). The IODF contains the I/O definition. The dynamic configuration feature provides the user with an ACTIVATE capability. When the user wants to run with a new I/O configuration, he enters the ACTIVATE command in the HCD and specifies the IODF he wishes to use. The HCD compares the current active configuration with the target configuration and builds a list of changes required. MVS/ESA then validates the changes, requests I/O configuration changes, updates MVS/ESA control blocks, and downloads a new IOCDS to the Processor Controller DASD. In a hypervisor environment in which the operating systems in the partitions are capable of dynamic modifications to the physical system's I/O configuration, novel situations are presented which call for decisions as to how the hypervisor will react to the proposed dynamic changes.
It is therefore an object of the present invention to provide a method and apparatus by which a hypervisor can control and respond to dynamic I/O reconfigurations by an operating system in a partition.
It is a further object of this invention to permit continued operation by systems in other partitions during dynamic changes to a system's I/O configuration by a system in a then controlling partition.
It is still a further object of this invention to minimize the involvement of the hypervisor in dynamic changes to a systems configuration by a then controlling partition, until after the changes have been effected.